package com.teemor.blog.api;

import com.teemor.blog.bean.dto.input.tag.AddTagIPo;
import com.teemor.blog.bean.dto.input.tag.QryTagsIPo;
import com.teemor.blog.bean.dto.input.tag.UpdTagIPo;
import com.teemor.blog.bean.dto.output.tag.QryTagOPo;
import com.teemor.blog.bean.dto.output.tag.QryTagsOPo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * @author: zhoulk
 * @Description: 原子服务API接口
 * @date: 2020/03/24 17:33:32
 */
@Api(value = "原子服务API接口", description = "原子服务API接口")
@RequestMapping(value = "/tag")
public interface ITagApiService {
     /** 
   * @Function: com.teemor.blog.service.ITagApiService.qryTagById
   * @Description: 根据主键查询
   * @param: id
   * @return: QryTagOPo
   * @version: v1.0.0
   * @author: zhoulk
   * @date: 2020/03/24 17:33:32
   *
   * Modification History:
   * Date         author          Version            Description
   *------------------------------------------------------*
   * 2020/03/24 17:33:32     zhoulk           v1.0.0             修改原因
   *
   */
    @RequestMapping(value = "/qryTag/{id}", method = RequestMethod.GET)
    @ApiOperation(value = "ITagApiService.qryTag", notes = "根据主键查询接口 - zhoulk")
    QryTagOPo qryTag(@PathVariable Integer id);

     /** 
   * @Function: com.teemor.blog.service.ITagService.countTag
   * @Description: 统计条数
   * @param: inParam
   * @return: int
   * @version: v1.0.0
   * @author: zhoulk
   * @date: 2020/03/24 17:33:32
   *
   * Modification History:
   * Date         author          Version            Description
   *------------------------------------------------------*
   * 2020/03/24 17:33:32     zhoulk           v1.0.0             修改原因
   *
   */
    @RequestMapping(value = "/countTag", method = RequestMethod.GET)
    @ApiOperation(value = "ITagApiService.countTag", notes = "数量统计接口 - zhoulk")
    int countTag(@RequestBody QryTagsIPo inParam);

     /** 
   * @Function: com.teemor.blog.service.ITagService.qryTags
   * @Description: 查询列表
   * @param: inParam
   * @return: List<QryTagsOPo>
   * @version: v1.0.0
   * @author: zhoulk
   * @date: 2020/03/24 17:33:32
   *
   * Modification History:
   * Date         author          Version            Description
   *------------------------------------------------------*
   * 2020/03/24 17:33:32     zhoulk           v1.0.0             修改原因
   *
   */
    @RequestMapping(value = "/qryTags", method = RequestMethod.GET)
    @ApiOperation(value = "ITagApiService.qryTags", notes = "列表查询接口 - zhoulk")
    List<QryTagsOPo> qryTags(@RequestBody QryTagsIPo inParam);

     /** 
   * @Function: com.teemor.blog.service.ITagService.updTagById
   * @Description: 根据ID更新
   * @param: inParam
   * @return: 
   * @version: v1.0.0
   * @author: zhoulk
   * @date: 2020/03/24 17:33:32
   *
   * Modification History:
   * Date         author          Version            Description
   *------------------------------------------------------*
   * 2020/03/24 17:33:32     zhoulk           v1.0.0             修改原因
   *
   */
    @RequestMapping(value = "/updTag", method = RequestMethod.PUT)
    @ApiOperation(value = "ITagApiService.updTag", notes = "根据主键更新接口 - zhoulk")
    void updTag(@RequestBody UpdTagIPo inParam);

     /** 
   * @Function: com.teemor.blog.service.ITagService.addTag
   * @Description: 新增接口
   * @param: inParam
   * @return: 
   * @version: v1.0.0
   * @author: zhoulk
   * @date: 2020/03/24 17:33:32
   *
   * Modification History:
   * Date         author          Version            Description
   *------------------------------------------------------*
   * 2020/03/24 17:33:32     zhoulk           v1.0.0             修改原因
   *
   */
    @RequestMapping(value = "addTag", method = RequestMethod.POST)
    @ApiOperation(value = "ITagApiService.updTag", notes = "新增接口 - zhoulk")
    void addTag(@RequestBody AddTagIPo inParam);
}